// 拦截所有请求,添加路径前缀 这是个axios默认全局属性
axios.defaults.baseURL = 'http://api-breakingnews-web.itheima.net'
// 另一个默认全局属性 给所有请求都添加token
// axios.defaults.headers.common['Authorization'] = localStorage.getItem('token')

// 添加请求拦截器
// use 方法里面可以传两个函数
axios.interceptors.request.use(function (config) {
    // console.log(config);
    // 判断路径中是否包含 /api 或者/my
    if (config.url.indexOf('/my') !== -1) {
        // 给config.headers添加Authorization属性 并且赋值localStorage.getItem('token')
        // 不要使用对象赋值会产生覆盖,要使用.属性方式 
        config.headers.Authorization = localStorage.getItem('token')
    }
    // 修改完毕需要返回config
    return config
}, function (error) {
    return Promise.reject(error)
})

// 添加响应拦截器
axios.interceptors.response.use(function (response) {
    // console.log(response);
    if (response.data.message === "身份认证失败！") {
        // 跳转到登录页面
        location.href = '/login.html'
        localStorage.removeItem('token')
        return
    }
    // 返回 response
    return response
}, function (error) {
    return Promise.reject(error)
})

// 格式化日期方法
function formatDate(time) {
    let dt = new Date(time)
    let y = dt.getFullYear()
    let m = padZero(dt.getMonth() + 1)
    let d = padZero(dt.getDate())

    let hh = padZero(dt.getHours())
    let mm = padZero(dt.getMinutes())
    let ss = padZero(dt.getSeconds())

    return `${y}-${m}-${d} ${hh}:${mm}:${ss}`
}

// 定义补零函数
function padZero(n) {
    return n < 10 ? '0' + n : n
}